package ${model.packageFullName};

import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import lombok.AllArgsConstructor;
import lombok.experimental.Delegate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import ace.cmp.rest.spring.data.jdbc.querydsl.core.controller.sdk.AbstractSdkRestController;
import ace.cmp.security.oauth2.resource.server.core.annotation.PreAuthorizeIsInternalClient;
import ace.module.common.api.annotation.ApiRemoteImplementPriority;
import ${model.dtoClassFullName};
import ${model.entityClassFullName};
import ${model.feignClassFullName};
import ${model.apiInfo.classFullName};

/**
* ${model.entityClassRemark} rpc controller.
*
* @author Caspar
*/
@Tag(name = "${model.entityClassRemark}-RPC-API")
@PreAuthorizeIsInternalClient
@ApiRemoteImplementPriority
@AllArgsConstructor
@RestController
@RequestMapping(${model.feignClassName}.PATH)
public class ${model.className} implements ${model.feignClassName} {

  @Delegate
  private final ${model.apiInfo.className} ${model.apiInfo.classNameFirstLowercase};
  
}
